python3使用matplotlib绘制散点图

在Python的可视化领域,`matplotlib`库是一个非常重要的工具,它允许我们创建各种类型的图表,包括散点图、线图、柱状图等。在这个例子中,我们将详细探讨如何使用`matplotlib`在Python3中绘制散点图,特别是用于表示不同时间点上的数据对比。 确保已经安装了`matplotlib`库,如果没有,可以通过运行`pip install matplotlib`来安装。接下来,导入必要的模块: ```python from matplotlib import pyplot as plt from matplotlib import font_manager ``` 在本例中,`font_manager`模块用于处理中文显示,特别是对于图例和坐标轴标签。如果系统中没有预装支持中文的字体,可能需要提供一个合适的字体文件路径,如示例中的`"/usr/share/fonts/truetype/arphic/ukai.ttc"`。 接下来,定义了两个列表`y_3`和`y_10`,分别代表3月份和10月份的温度数据。然后,创建了两个变量`x`和`x_2`,它们分别代表3月份和10月份的时间索引。 绘制散点图使用`pyplot`模块的`scatter()`函数。在这里,我们绘制了两个散点图: ```python plt.scatter(x, y_3, label="3月份") plt.scatter(x_2, y_10, label="10月份") ``` `label`参数用于设置图例的文字。 为了使图表更易于理解,我们可以调整X轴的刻度和标签。通过`xticks()`函数设置X轴的刻度位置和对应的标签: ```python _xtick_labels = ["3月{}日".format(i) for i in x] + ["10月{}日".format(i - 37) for i in x_2] plt.xticks(_x[::3], _xtick_labels[::3], fontproperties=my_font, rotation=45) ``` 这里,`_x[::3]`和`_xtick_labels[::3]`是每隔3个点取一个点,以减少标签的拥挤。`rotation=45`使得标签倾斜45度,以便在有限的空间内显示更多的文本。 接着,使用`xlabel()`和`ylabel()`函数添加坐标轴描述信息: ```python plt.xlabel("时间", fontproperties=my_font) plt.ylabel("温度", fontproperties=my_font) ``` `title()`函数用于设置图表的标题: ```python plt.title("三月份与十月份温度对比", fontproperties=my_font) ``` `legend()`函数用于添加图例,`loc="upper left"`将图例放在左上角,`prop=my_font`确保图例中的文字也使用指定的字体: ```python plt.legend(loc="upper left", prop=my_font) ``` 调用`show()`函数显示绘制的图形: ```python plt.show() ``` 这个例子展示了如何利用`matplotlib`库在Python3中创建一个散点图,以及如何定制它的各个部分,如图例、轴标签、标题等。这只是一个基本的示例,实际上`matplotlib`提供了许多其他选项来进一步自定义图表,如颜色、大小、透明度、图例样式等,可以根据具体需求进行调整。学习并熟练掌握`matplotlib`,可以帮助我们更好地呈现和理解数据。















