泡泡资讯网

AI帮你分析,案例《加拿大轻罪政策和吸毒人数的关系》

问豆包要数据打开豆包网址:doubao.com提问:要做一个加拿大请罪政策和吸毒人数的关系图,如何实现生成代码代码如下:
问豆包要数据

打开豆包网址:doubao.com

提问:要做一个加拿大请罪政策和吸毒人数的关系图,如何实现

生成代码

代码如下:

import matplotlib.pyplot as plt
import pandas as pd

# 设置中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 构建数据
data = {
'年份': [2015, 2017, 2018, 2019, 2023, 2024],
'大麻使用率(%)': [12, 15, 15, 21, 26, 26],
'阿片类药物致死人数': [None, None, None, None, 7500, 7146],
'政策标注': ['无重大政策', '筹备大麻合法化', '娱乐大麻合法化', '撤销大麻轻罪记录', 'BC省小剂量豁免试点', '试点持续推进']
}
df = pd.DataFrame(data)

# 创建画布和主坐标轴
fig, ax1 = plt.subplots(figsize=(12, 6))

# 绘制大麻使用率折线
color1 = '#2E86AB'
ax1.set_xlabel('年份', fontsize=12)
ax1.set_ylabel('大麻使用率(%)', color=color1, fontsize=12)
line1 = ax1.plot(df['年份'], df['大麻使用率(%)'], color=color1, marker='o', linewidth=2, label='大麻使用率')
ax1.tick_params(axis='y', labelcolor=color1)

# 创建次坐标轴,绘制阿片类药物致死人数
ax2 = ax1.twinx()
color2 = '#A23B72'
ax2.set_ylabel('阿片类药物致死人数', color=color2, fontsize=12)
# 过滤空值
death_data = df.dropna(subset=['阿片类药物致死人数'])
line2 = ax2.plot(death_data['年份'], death_data['阿片类药物致死人数'], color=color2, marker='s', linewidth=2, label='阿片类药物致死人数')
ax2.tick_params(axis='y', labelcolor=color2)

# 标注政策
for i, txt in enumerate(df['政策标注']):
ax1.annotate(txt, (df['年份'][i], df['大麻使用率(%)'][i]), xytext=(5, 5), textcoords='offset points', fontsize=8)

# 合并图例
lines = line1 + line2
labels = [l.get_label() for l in lines]
ax1.legend(lines, labels, loc='upper left')

# 设置标题
plt.title('加拿大毒品轻罪化政策与吸毒相关数据趋势图', fontsize=14)
plt.tight_layout()
# 保存图片
plt.savefig('canada_drug_policy_trend.png', dpi=300)
plt.show()

打开pycharm,粘贴代码,并运行。

没有的可以安装,网址是:https://www.jetbrains.com/pycharm/

安装好,运行:

结论:轻罪化推动吸毒人数上升,未现显著下降