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将数据(实时变化)显示到雷达图上。

哪位大哥帮我用Python把它变成极坐标显示的那种(就是在圆上面展示出来各个角度出现的频率),我没有写出

如何显示 matplotlib 图?

甘特图上的显示问题(Jupyter、Plotly、Python)

见图。python matplotlib 子图图例不显示完全。怎么解决?