python图没有显示
Posted
技术标签:
【中文标题】python图没有显示【英文标题】:python graph not showing up 【发布时间】:2021-10-10 02:46:28 【问题描述】:所以我尝试使用 pandas 绘制数据框,当我输入它时,出现了一个空白图像,没有任何错误或任何东西。我希望有人知道问题可能是什么以及我如何解决它。
我想知道这是后端问题还是什么。谢谢!
【问题讨论】:
请将您的代码直接复制到问题中,而不是添加它的图像 您确定要添加到散点图中的点存在吗?即df_top10[df_top10['Country Name'] ==k]['year'] and ['life ladder']
是非空的吗?
对不起,我是新手,下次会注意。我确实创建了一个将两个数据集组合在一起的新变量。
你看过Plotly's Jupyter notebooks documentation吗?有关于如何配置 Jupyter 笔记本以显示 Plotly 图形的说明
【参考方案1】:
为了更快地得到答案,我们需要文本格式的代码和用于复制的示例数据。我已尝试将官方参考中的示例应用于您的代码。图表未显示的原因是猜测,因为我没有任何代码或数据,但我认为没有从字典中检索到国家名称。我从人口样本数据中提取了前 10 个国家,并根据从这些国家名称的原始数据框中提取的数据绘制了一个图表。用作循环过程基础的数据是国家名称和任意颜色的字典。
import plotly.express as px
from plotly.subplots import make_subplots
df1 = px.data.gapminder().query('year==2007').sort_values('pop', ascending=False).head(10)
df1
country | continent | year | lifeExp | pop | gdpPercap | iso_alpha | iso_num | |
---|---|---|---|---|---|---|---|---|
299 | China | Asia | 2007 | 72.961 | 1318683096 | 4959.11 | CHN | 156 |
707 | India | Asia | 2007 | 64.698 | 1110396331 | 2452.21 | IND | 356 |
1619 | United States | Americas | 2007 | 78.242 | 301139947 | 42951.7 | USA | 840 |
719 | Indonesia | Asia | 2007 | 70.65 | 223547000 | 3540.65 | IDN | 360 |
179 | Brazil | Americas | 2007 | 72.39 | 190010647 | 9065.8 | BRA | 76 |
1175 | Pakistan | Asia | 2007 | 65.483 | 169270617 | 2605.95 | PAK | 586 |
107 | Bangladesh | Asia | 2007 | 64.062 | 150448339 | 1391.25 | BGD | 50 |
1139 | Nigeria | Africa | 2007 | 46.859 | 135031164 | 2013.98 | NGA | 566 |
803 | Japan | Asia | 2007 | 82.603 | 127467972 | 31656.1 | JPN | 392 |
995 | Mexico | Americas | 2007 | 76.195 | 108700891 | 11977.6 | MEX | 484 |
# create dict country and color
colors = px.colors.sequential.Plasma
color = k:v for k,v in zip(df1.country,colors)
'China': '#0d0887',
'India': '#46039f',
'United States': '#7201a8',
'Indonesia': '#9c179e',
'Brazil': '#bd3786',
'Pakistan': '#d8576b',
'Bangladesh': '#ed7953',
'Nigeria': '#fb9f3a',
'Japan': '#fdca26',
'Mexico': '#f0f921'
# top10 data
df1_top10 = px.data.gapminder().query('country in @df1.country')
import plotly.graph_objects as go
fig = go.Figure()
colors = px.colors.sequential.Plasma
for k,v in color.items():
fig.add_trace(go.Scatter(
x=df1_top10[df1_top10['country']==k]['year'],
y=df1_top10[df1_top10['country']==k]['lifeExp'],
name=k,
mode='markers+text+lines',
marker_color='black',
marker_size=3,
line=dict(color=color[k]),
yaxis='y1'))
fig.update_layout(
title="Top 10 Country wise Life Ladder trend",
xaxis_title="Year",
yaxis_title="Life Ladder",
template='ggplot2',
font=dict( size=16,
color="Black",
family="Garamond"
),
xaxis=dict(showgrid=True),
yaxis=dict(showgrid=True)
)
fig.show()
【讨论】:
以上是关于python图没有显示的主要内容,如果未能解决你的问题,请参考以下文章
Python Seaborn 联合图未在图表上显示相关系数和 p 值
哪位大哥帮我用Python把它变成极坐标显示的那种(就是在圆上面展示出来各个角度出现的频率),我没有写出