import plotly.express as px fig = px.histogram(train_public, x="total_loan", color="isDefault") fig.show()改为matplotlib.pyplot下画出的直方图的代码
时间: 2024-02-15 07:02:57 浏览: 175
可以使用matplotlib库来画出直方图,以下是对应的代码:
```
import matplotlib.pyplot as plt
# 将数据分成 isDefault 为 0 和 1 两部分
is_default_0 = train_public[train_public['isDefault'] == 0]['total_loan']
is_default_1 = train_public[train_public['isDefault'] == 1]['total_loan']
# 绘制直方图
plt.hist([is_default_0, is_default_1], bins=30, color=['blue', 'green'], label=['isDefault=0', 'isDefault=1'])
plt.legend()
plt.xlabel('total_loan')
plt.ylabel('Frequency')
plt.show()
```
这段代码的功能与上面的代码相同,只是使用了matplotlib库来绘制直方图。首先将数据集按照"isDefault"变量分成两部分,然后使用plt.hist()函数来绘制直方图。其中,bins参数表示将数据分成的区间数,color参数表示直方图的颜色,label参数表示直方图的标签。最后通过plt.legend()函数来显示标签,通过plt.xlabel()和plt.ylabel()函数来设置x轴和y轴的标签。
相关问题
import matplotlib.pyplot as plt import plotly.express as px data_canada = px.data.gapminder().query("country == 'Canada'") fig = px.bar( data_canada, # 数据集 x='year', # x轴 y='pop', # y轴 color ='pop' ) fig.show() 怎么让柱形图上面显示数据
可以在生成柱形图的时候,添加一个参数text来指定要在柱形图上显示的数据。具体地,可以将text参数设置为一个字符串,表示要显示的数据列的名称。例如,要在柱形图上显示年份和人口数量,可以将text参数设置为"year, pop"。修改后的代码如下:
```
import matplotlib.pyplot as plt
import plotly.express as px
data_canada = px.data.gapminder().query("country == 'Canada'")
fig = px.bar(data_canada, x='year', y='pop', color='pop', text='year, pop')
fig.show()
```
这样,生成的柱形图上方会显示每个柱子对应的年份和人口数量。可以通过修改text参数的值来控制要在柱形图上显示的数据。
import plotly.express as px import plotly.io as pio # 使用 Plotly Express 绘制图形 fig = px.scatter(x=[1, 2, 3], y=[4, 5, 6]) # 将图形保存为 SVG 文件 svg_data = pio.to_image(fig, format='svg') with open('plot.svg', 'w') as f: f.write(svg_data) write() argument must be str, not bytes
如果您遇到了 `write() argument must be str, not bytes` 错误,这意味着您正在尝试将二进制数据写入文件,但 `write()` 函数需要一个字符串参数。为了解决这个问题,您需要在写入数据之前将其编码为字符串。以下是一个示例代码:
```python
import plotly.express as px
import plotly.io as pio
# 使用 Plotly Express 绘制图形
fig = px.scatter(x=[1, 2, 3], y=[4, 5, 6])
# 将图形保存为 SVG 文件
svg_data = pio.to_image(fig, format='svg')
with open('plot.svg', 'w', encoding='utf-8') as f:
f.write(svg_data.decode('utf-8'))
```
在这个示例中,我们使用 `px.scatter()` 函数绘制了一个散点图,并将其保存为名为 `plot.svg` 的 SVG 文件。请注意,我们首先使用 `to_image()` 函数将图像转换为 SVG 格式,并将其存储在一个变量中。然后,我们使用 `open()` 函数打开文件,将 SVG 数据编码为字符串,并将其写入该文件。
希望这可以解决您遇到的问题。
阅读全文