from matplotlib.font_manager import FontProperties font = FontProperties(size=14) fig = plt.figure(figsize=(10,8)) ax1 = fig.add_subplot(211) ax1.plot(pos_k) ax1.set_xlabel('正面评论LDA主题数寻优', fontproperties=font) ax2 = fig.add_subplot(212) ax2.plot(neg_k) ax2.set_xlabel('负面评论LDA主题数寻优', fontproperties=font)标题为方框,请修改代码
时间: 2023-08-05 09:09:49 浏览: 314
如果标题为方框,可能是因为你的系统中没有安装SimHei字体,或者你的代码中使用的SimHei字体文件路径不正确。你可以尝试将字体更改为其他支持中文的字体,如Microsoft YaHei、SimSun等。
以下是使用Microsoft YaHei字体的示例代码:
```
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\msyh.ttc", size=14)
fig = plt.figure(figsize=(10,8))
ax1 = fig.add_subplot(211)
ax1.plot(pos_k)
ax1.set_xlabel('正面评论LDA主题数寻优', fontproperties=font)
ax1.set_title('正面评论LDA主题数寻优', fontproperties=font)
ax2 = fig.add_subplot(212)
ax2.plot(neg_k)
ax2.set_xlabel('负面评论LDA主题数寻优', fontproperties=font)
ax2.set_title('负面评论LDA主题数寻优', fontproperties=font)
```
在这个代码中,我们使用了Microsoft YaHei字体来替换SimHei字体。如果你的系统中没有安装Microsoft YaHei字体,你可以更改`fname`参数为其他支持中文的字体文件路径。
相关问题
from matplotlib.font_manager import FontProperties font = FontProperties(size=14) fig = plt.figure(figsize=(10,8)) ax1 = fig.add_subplot(211) ax1.plot(pos_k) ax1.set_xlabel('正面评论LDA主题数寻优', fontproperties=font) ax2 = fig.add_subplot(212) ax2.plot(neg_k) ax2.set_xlabel('负面评论LDA主题数寻优', fontproperties=font)显示不出标题
这个问题可能是因为没有设置图表的标题。你可以尝试添加以下代码来为每个子图添加标题:
```
ax1.set_title('正面评论LDA主题数寻优', fontproperties=font)
ax2.set_title('负面评论LDA主题数寻优', fontproperties=font)
```
这个代码需要在`ax1.set_xlabel()`和`ax2.set_xlabel()`之后添加。这样做应该能够显示出图表的标题。
import pandas as pd import warnings import sklearn.datasets import sklearn.linear_model import matplotlib import matplotlib.font_manager as fm import matplotlib.pyplot as plt import numpy as np import seaborn as sns data = pd.read_excel(r'C:\Users\Lenovo\Desktop\data.xlsx') fig = plt.figure(figsize=(10, 8)) sns.heatmap(data.corr(), cmap="YlGnBu", annot=True) plt.title('相关性分析热力图') plt.rcParams['axes.unicode_minus'] = False plt.rcParams['font.sans-serif'] = 'SimHei' plt.show() y = data['y'] X = data.drop(['y'], axis=1) print('************************输出新的特征集数据***************************') print(x.head()) from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) data = np.random.rand(42, 42) data_flattened = data.flatten(data)
这段代码中存在一些错误:
1. 第一行代码应该换行,因为 Python 默认不支持在同一行中导入多个模块。
2. 导入模块的语句应该放在文件的开头,而不是在代码中间。
3. `print(x.head())` 应该改为 `print(X.head())`,因为特征集的变量名是大写的 X。
4. `data_flattened = data.flatten(data)` 应该改为 `data_flattened = data.flatten()`,因为 `numpy.ndarray.flatten()` 方法不接受参数。
下面是修改后的代码:
```
import pandas as pd
import warnings
import sklearn.datasets
import sklearn.linear_model
import matplotlib
import matplotlib.font_manager as fm
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
from sklearn.model_selection import train_test_split
data = pd.read_excel(r'C:\Users\Lenovo\Desktop\data.xlsx')
fig = plt.figure(figsize=(10, 8))
sns.heatmap(data.corr(), cmap="YlGnBu", annot=True)
plt.title('相关性分析热力图')
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.show()
y = data['y']
X = data.drop(['y'], axis=1)
print('************************输出新的特征集数据***************************')
print(X.head())
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
data = np.random.rand(42, 42)
data_flattened = data.flatten()
```
阅读全文