源代码如下,请设置图片大小为(10,8)并正确显示两个图例:import pandas as pd import matplotlib.pyplot as plt import numpy as np # 读取表格数据 df = pd.read_excel(r"C:\Users\li'yi'jie\Desktop\1.xlsx") # 分别获取K值、轮廓系数和Calinski-Harabasz指数 k = df['K'] score1 = df['Silhouette Coefficient'] score2 = df['Calinski-Harabasz Index'] # 绘制折线图 fig, ax1 = plt.subplots() # 设置第一个纵坐标 ax1.set_xlabel('K值') ax1.set_ylabel('轮廓系数') ax1.plot(k, score1, color='tab:blue', marker='o') # 设置第二个纵坐标 ax2 = ax1.twinx() ax2.set_ylabel('Calinski-Harabasz指数') ax2.plot(k, score2, color='tab:orange', marker='^') # 显示图像 plt.show()
时间: 2023-11-28 10:05:49 浏览: 228
下面是修改后的代码,可以设置图片大小为(10,8),并且正确显示两个图例:
```
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 读取表格数据
df = pd.read_excel(r"C:\Users\li'yi'jie\Desktop\1.xlsx")
# 分别获取K值、轮廓系数和Calinski-Harabasz指数
k = df['K']
score1 = df['Silhouette Coefficient']
score2 = df['Calinski-Harabasz Index']
# 绘制折线图
fig, ax1 = plt.subplots(figsize=(10, 8)) # 设置图片大小为(10,8)
# 设置第一个纵坐标
ax1.set_xlabel('K值')
ax1.set_ylabel('轮廓系数')
ax1.plot(k, score1, color='tab:blue', marker='o', label='轮廓系数') # 添加图例
# 设置第二个纵坐标
ax2 = ax1.twinx()
ax2.set_ylabel('Calinski-Harabasz指数')
ax2.plot(k, score2, color='tab:orange', marker='^', label='Calinski-Harabasz指数') # 添加图例
# 显示图例
ax1.legend(loc='upper left')
ax2.legend(loc='upper right')
# 显示图像
plt.show()
```
注意,代码中添加了两行代码用于添加图例,并且添加了一个参数 `figsize=(10, 8)` 用于设置图片大小。
阅读全文