数据可视化
- 借助 matplotlib 库实现:
import matplotlib.pyplot as plt # 数据准备 x = [1, 2, 3, 4, 5] y = [10, 20, 25, 30, 35] # 创建图表 plt.scatter(x, y, color='blue', label='数据点') plt.title('Matplotlib 散点图示例') plt.xlabel('X轴标签') plt.ylabel('Y轴标签') plt.legend() plt.grid(True) # 显示图表 plt.show()
- 导入所需的库:
import matplotlib.pyplot as plt
- 创建数据:
x = [1, 2, 3, 4, 5]
和y = [2, 3, 5, 7, 11]
- 绘制散点图:
plt.scatter(x, y, label='数据点', color='blue', marker='o')
- 添加标签和标题:使用
plt.xlabel('X轴标签')
,plt.ylabel('Y轴标签')
和plt.title('散点图示例')
- 增加图例与网格:通过
plt.legend()
和plt.grid(True)
- 显示图形:调用
plt.show()
# 实现代码 import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 3, 5, 7, 11] plt.scatter(x, y, label='数据点', color='blue', marker='o') plt.xlabel('X轴标签') plt.ylabel('Y轴标签') plt.title('散点图示例') plt.legend() plt.grid(True) plt.show()
Seaborn 库
- 导入必要的库:
import seaborn as sns
和import matplotlib.pyplot as plt
- 创建数据:
x = [1, 2, 3, 4, 5]
和y = [2, 3, 5, 7, 11]
- 绘制散点图:使用
sns.scatterplot(x=x, y=y, label='数据点')
- 添加标签和标题:调用
plt.xlabel('X轴标签')
,plt.ylabel('Y轴标签')
和plt.title('散点图示例')
- 增加图例与网格:通过
plt.legend()
和plt.grid(True)
- 显示图形:使用
plt.show()
# 实现代码 import seaborn as sns import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 3, 5, 7, 11] sns.scatterplot(x=x, y=y, label='数据点') plt.xlabel('X轴标签') plt.ylabel('Y轴标签') plt.title('散点图示例') plt.legend() plt.grid(True) plt.show()
Pyecharts 库
- 导入必要模块:
from pyecharts.charts import Scatter
和from pyecharts import options as opts
- 创建数据:
data = [(1, 2), (2, 3), (3, 5), (4, 7), (5, 11)]
- 创建散点图对象:使用
scatter = Scatter().add_xaxis([x for x, y in data]).add_yaxis("数据点", [y for x, y in data])
- 设置系列选项:调用
set_series_opts(label_opts=opts.LabelOpts(is_show=False))
- 设置全局选项:通过
set_global_opts(title_opts=opts.TitleOpts(title="散点图示例"), xaxis_opts=opts.AxisOpts(name="X轴"), yaxis_opts=opts.AxisOpts(name="Y轴"))
-
- 确认所需库已安装
确保已经安装了pyecharts
及相关依赖。可以通过以下命令安装: - 检查 Jupyter Notebook 版本
请确保使用的 Jupyter Notebook 版本支持render_notebook()
方法。通常较新版本的 Jupyter Notebook 能正常支持。 - 使用
render()
方法保存为 HTML 文件
如果render_notebook()
无法正常工作,可以尝试将图表渲染为 HTML 文件并手动打开:保存完成后,在文件管理器中找到
scatter_plot.html
文件并双击打开查看图表。 - 使用 IFrame 在 Notebook 中显示 HTML 文件
如果需要在 Jupyter Notebook 中直接显示 HTML 文件,可以使用IPython.display.IFrame
实现: - 检查是否有其他输出干扰
在某些情况下,Jupyter Notebook 中的其他输出可能会干扰图表显示。确保在执行绘图代码时没有其他不必要的输出。 - 重启 Jupyter Notebook
如果上述方法均无效,尝试重启 Jupyter Notebook 服务器。这通常可以解决一些临时性的问题。渲染图表:在 Jupyter Notebook 中使用
render_notebook()
,在普通 Python 脚本中使用render("scatter_plot.html")
# 实现代码 from pyecharts.charts import Scatter from pyecharts import options as opts data = [(1, 2), (2, 3), (3, 5), (4, 7), (5, 11)] scatter = ( Scatter() .add_xaxis([x for x, y in data]) .add_yaxis("数据点", [y for x, y in data]) .set_series_opts(label_opts=opts.LabelOpts(is_show=False)) .set_global_opts( title_opts=opts.TitleOpts(title="散点图示例"), xaxis_opts=opts.AxisOpts(name="X轴"), yaxis_opts=opts.AxisOpts(name="Y轴") ) ) # 渲染输出 scatter.render("scatter_plot.html")
注意事项
如果你在 Jupyter Notebook 中运行代码时发现图表未能正确显示,可能是由于render_notebook()
方法未正常执行,或者你的运行环境配置存在问题。以下是一些可能的解决方案:
三种绘图库的特点对比
库 特点 适用场景 matplotlib 基础绘图库,支持高度自定义,生成静态图表 科研论文,数据分析报告 seaborn 基于 matplotlib,提供更美观的样式 统计分析,探索性数据分析 pyecharts 交互性强,适合动态网页展示 数据展示,交互式仪表盘 选择建议
- 如果需要生成科研或数据分析中的静态图表,matplotlib 是基础且可靠的选择。
- 对于需要更加美观效果和简化统计分析的场景,seaborn 提供了用户友好的界面。
- 若需要在网页中展示交互式图表,pyecharts 可以生成具有交互功能的 HTML 文件,非常适合网络发布和数据展示。
- 确认所需库已安装
- 导入所需的库:
Your blog has quickly become one of my favorites. Your writing is both insightful and thought-provoking, and I always come away from your posts feeling inspired. Keep up the phenomenal work!