运行df.plot()没有显示图片
时间: 2023-05-08 09:01:40 浏览: 113
当运行df.plot()没有显示图片时,可能存在以下问题:
1. 没有正确导入相关的库:在运行df.plot()时需要导入matplotlib和pandas库,如果没有导入或者导入不正确,会导致无法显示图片。
2. 图片被隐藏:有时候图片可能被其他窗口遮挡或者被最小化了,可以尝试查找窗口并将其恢复到正常大小。
3. 数据框中没有数据:如果数据框中没有数据,使用df.plot()将无法生成任何图形。
4. 图片被保存到了本地:如果在运行df.plot()时指定了保存路径,图片可能被保存到了本地而没有立即在程序中显示出来。
5. 代码有误:如果代码中存在错误,也可能导致无法显示图片。此时可以尝试检查代码是否有语法错误或者逻辑错误。
针对以上问题,可以逐一排查并解决,最终实现成功显示图片。
相关问题
def time_chart(df): # 复制传入的 DataFrame df1 = df.copy() # 转换 paytime 列为 datetime 格式,并格式化时间段 df1['paytime'] = pd.to_datetime(df1['paytime']).dt.floor('30T').dt.strftime('%H:%M-%H:%M') # 统计每个时间段内的数据条数,并删除空值 timedf1 = df1['paytime'].value_counts().drop('NaT-NaT') # 将数据和标签分别存储到 timedf_x 和 timedf_y 中,并将 x 轴标签旋转 60 度 timedf_x = timedf1.index timedf_y = timedf1.values plt.xticks(rotation=60) # 绘制时间图表并展示 plt.plot(timedf_x, timedf_y) plt.show()我运行后不显示图片是为什么
可能是因为缺少必要的依赖库或者没有调用 `plt.show()` 函数。你可以先检查是否安装了 matplotlib 库,如果没有安装可以通过命令行安装:`pip install matplotlib`。如果已经安装了,可以尝试在 `plt.show()` 函数前加入以下代码:`%matplotlib inline`,或者在 `plt.show()` 函数后加入以下代码:`plt.pause(0.01)`。如果还有问题,可以提供更多的信息以便我更好地帮助你。
读取文本文件movies_revenue_starring_1950_2010.txt, 首先按照电影title降序排序,然后分别可视化电影的revenue Starring Actors Popularity 的值,每幅图均包括图例、图标题,x轴刻度值为电影title且斜45°显示(为了显示美观,可以将电影title每隔若干个抽样显示),每幅图曲线颜色分别为红色、绿色;每幅图分别保存为png图片保存,分辨率为400 dpi,png图片命名分别为movies_revenue_1950_2010.png、m
ovies_starring_1950_2010.png、movies_popularity_1950_2010.png。
以下是实现该任务的Python代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 读取数据
df = pd.read_csv('movies_revenue_starring_1950_2010.txt', sep='\t')
# 按照电影title降序排序
df = df.sort_values(by='Title', ascending=False)
# 抽样显示电影title
n = 10 # 抽样间隔
titles = df['Title'][::n].tolist()
x_ticks = np.arange(0, len(df), n)
# 可视化电影的revenue
plt.figure(figsize=(16, 8))
plt.plot(df['Revenue'], 'r-', label='Revenue')
plt.xticks(x_ticks, titles, rotation=45, ha='right')
plt.legend()
plt.title('Revenue of Movies from 1950 to 2010')
plt.savefig('movies_revenue_1950_2010.png', dpi=400)
# 可视化电影的starring actors
plt.figure(figsize=(16, 8))
plt.plot(df['Starring Actors'], 'g-', label='Starring Actors')
plt.xticks(x_ticks, titles, rotation=45, ha='right')
plt.legend()
plt.title('Starring Actors of Movies from 1950 to 2010')
plt.savefig('movies_starring_1950_2010.png', dpi=400)
# 可视化电影的popularity
plt.figure(figsize=(16, 8))
plt.plot(df['Popularity'], 'b-', label='Popularity')
plt.xticks(x_ticks, titles, rotation=45, ha='right')
plt.legend()
plt.title('Popularity of Movies from 1950 to 2010')
plt.savefig('movies_popularity_1950_2010.png', dpi=400)
```
运行以上代码,即可生成三张分别为movies_revenue_1950_2010.png、movies_starring_1950_2010.png、movies_popularity_1950_2010.png的图像文件。