【数据展示】matplotlib设置画面大小

代码实例

plt.figure(figsize=(6, 6.5))

注意,这里的画面大小其实是 600 * 650的。

(所以,不要太输入太的数字)

具体实例

这里写图片描述

import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(6, 6.5))
for i in range(4):
    ax = plt.subplot(221+i)
    alpha = 0.98 / 4 * i + 0.01
    ax.set_title('%.3f' % alpha)
    t1 = np.arange(0.0, 1.0, 0.01)
    for n in [1, 2, 3, 4]:
        plt.plot(t1, t1 ** n, label="n=%d" % n)
    leg = plt.legend(loc='best', ncol=4, mode="expand", shadow=True)
    leg.get_frame().set_alpha(alpha)

plt.savefig('1.png')
plt.show()

### 如何优化和润色 Python Matplotlib 图表 #### 选择合适的图表类型 不同的数据集适合不同类型的图表。例如,折线图适用于显示趋势;柱状图用于比较数量;饼图展示比例关系。选择最能清晰表达数据特点的图表形式有助于提高可视化效果[^3]。 #### 设置图形大小与分辨率 在创建图表之前定义好画布尺寸(`figsize`参数)以及图像解析度(`dpi`),这不仅影响最终输出的质量还决定了布局安排的空间感。对于出版级图片来说较高的DPI值通常是必要的[^4]。 ```python plt.figure(figsize=(10, 6), dpi=300) ``` #### 自定义颜色方案 利用预设的颜色映射或自定义色彩来增强视觉吸引力并使重要信息更加突出。可以通过传递列表给`color`参数指定线条/条形的颜色,也可以应用colormap实现渐变效果[^1]。 ```python colors = ['red', 'blue'] ax.bar(x_values, y_values, color=colors) # 或者使用 colormap cmap = plt.get_cmap('viridis') norm = mpl.colors.Normalize(vmin=min(data), vmax=max(data)) rgba_colors = cmap(norm(data)) ax.scatter(x_data, y_data, c=rgba_colors) ``` #### 添加标题与标签 为图表添加描述性的主标题(`title`)、X轴名(`xlabel`)及Y轴名(`ylabel`)可以使读者更容易理解所呈现的内容。同时还可以调整字体样式以匹配整体风格[^2]。 ```python ax.set_title("Sample Plot", fontsize=16) ax.set_xlabel("X-axis Label") ax.set_ylabel("Y-axis Label") # 修改字体属性 font = {'family': 'serif', 'weight': 'bold', 'size': 14} matplotlib.rc('font', **font) ``` #### 调整刻度标记 合理设置坐标轴上的刻度位置及其间隔能够帮助观众更精确地读取数值。此外,旋转角度或者倾斜文字方向也有助于防止拥挤现象发生。 ```python ax.tick_params(axis='both', which='major', labelsize=10) ax.xaxis.set_major_locator(plt.MultipleLocator(base=5)) # 设定 X 轴每五个单位有一个大格 ``` #### 使用网格辅助阅读 开启背景中的细密网线可以帮助观察者更好地定位具体的数据点所在的位置。通常建议保持较浅淡的颜色以免干扰主体内容。 ```python ax.grid(True, linestyle='-.', alpha=0.7) ``` #### 注解关键区域 当存在特别值得关注的地方时,在相应位置放置箭头指向说明或是直接标注出来是非常有效的做法之一。这样可以让重点一目了然。 ```python bbox_props = dict(boxstyle="round,pad=0.3", fc="white", ec="black", lw=1) ax.annotate('Peak Point', xy=(max_x_value, max_y_value), xytext=(max_x_value + offset, max_y_value - offset), arrowprops=dict(facecolor='black', shrink=0.05), bbox=bbox_props, ha='center') ``` #### 控制边距与空白区 适当调节四周留白部分的比例可以使得整个画面看起来更为紧凑而不失美感。特别是当多个子图共存时尤为重要。 ```python plt.tight_layout(pad=2.0) # 自动调整各元素间距 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gc.collect()

公众号“肥宅Sean”欢迎关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值