plt.subplots 去掉边框
时间: 2023-11-02 18:00:25 浏览: 116
要去掉plt.subplots()函数生成的子图的边框,可以在生成子图时使用参数"frame_on=False"。具体实现代码如下:
```
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
fig, axes = plt.subplots(2, 2, frame_on=False) # 去掉边框
ax1 = axes
ax2 = axes
ax3 = axes
ax4 = axes
ax1.plot(x, x)
ax2.plot(x, x ** 2)
ax2.grid(color='r', linestyle='--', linewidth=1, alpha=0.3)
ax3.plot(x, np.sin(x))
ax4.plot(x, np.tan(x))
plt.show()
```
这样生成的子图将去掉边框。
相关问题
fig, ax1 = plt.subplots去掉边框
要去掉边框,可以通过设置ax1的spines属性来实现。可以使用下面这行代码将ax1的边框设置为无:
ax1.spines['top'].set_visible(False)
ax1.spines['bottom'].set_visible(False)
ax1.spines['left'].set_visible(False)
ax1.spines['right'].set_visible(False)
这样就可以去掉ax1的边框了。
def fun1(data): data = pd.read_csv(data) data['date_time'] = pd.to_datetime(data['date_time']) plt.figure(figsize=(14, 5)) plt.subplot(1, 2, 1) plt.subplots_adjust(wspace=0.2) # 小提琴图 sns.violinplot(x="year", y="Global_active_power", data=data) plt.xlabel('Year') plt.title('Violin plot of Yearly Global Active Power') sns.despine(left=True, bottom=True) plt.tight_layout() plt.subplot(1, 2, 2) sns.violinplot(x="quarter", y="Global_active_power", data=data) plt.xlabel('Quarter') plt.title('Violin plot of Quarterly Global Active Power') sns.despine(left=True, bottom=True) plt.tight_layout() plt.show()
这段代码使用Python中的pandas和seaborn库,绘制了一个关于年份和季节的全球活跃功率的小提琴图。
首先,通过`pd.read_csv()`函数读取了一个数据集,并将其中的日期时间列转换成了pandas中的日期时间格式。然后,使用`plt.subplots()`函数创建了一个大小为14x5的Figure,并在其中创建了一个大小为1x2的subplot。其中,`plt.subplots_adjust()`函数用于调整子图之间的间距。
在第一个子图中,使用`sns.violinplot()`函数绘制了年份与全球活跃功率之间的小提琴图,并使用`plt.xlabel()`和`plt.title()`函数添加了x轴标签和标题。在第二个子图中,同样使用`sns.violinplot()`函数绘制了季节与全球活跃功率之间的小提琴图,并添加了相应的标签和标题。
最后,使用`sns.despine()`函数去除了图形中的边框线,并使用`plt.tight_layout()`函数调整子图之间的间距,使得图形更加美观。最后,使用`plt.show()`函数显示了整个图形。