运用Python制作饼图

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['simHei']
labels=['教师','辅导员','实训室管理员','行政人员']
sizes=[79,26,10,8]
colors=['yellowgreen','gold','lightskyblue','red']
explode=(0,0.5,0,0.8)
plt.pie(sizes,explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=180)

plt.axis('equal')
plt.saevfig('../R&Q_Pic/test8',dpi=600)
plt.show

 

### 使用Python实现实时电影票房监测 实时电影票房监测对于理解市场趋势至关重要。为了实现这一目标,可以采用Python中的多种和技术来构建一个完整的解决方案。 #### 数据获取 要从网站上抓取最新的电影票房数据,通常会遇到两种类型的页面:静态页面和动态加载的内容。针对这两种情况,分别可以选择不同的方法: - **静态网页**:如果目标网站的数据是直接嵌入HTML源码中的,则可以直接使用`requests`发送HTTP请求,并配合`BeautifulSoup`解析返回的HTML文档。 - **动态内容**:当面对JavaScript渲染后的DOM结构变化时,推荐使用像`selenium`这样的浏览器自动化工具模拟真实用户的交互行为,从而获得最终呈现给用户的信息[^2]。 ```python from selenium import webdriver import time def get_box_office_data(url): options = webdriver.ChromeOptions() options.add_argument('headless') # 不打开浏览器窗口运行 driver = webdriver.Chrome(options=options) try: driver.get(url) time.sleep(5) # 等待页面完全加载 elements = driver.find_elements_by_css_selector('.box-office-item') results = [] for element in elements[:10]: # 只提取前十个条目作为示例 title = element.find_element_by_class_name('title').text.strip() gross = element.find_element_by_class_name('gross').text.strip() result = { 'Title': title, 'Gross': gross } results.append(result) finally: driver.quit() return results ``` 这段代码展示了如何利用Selenium访问指定URL并从中抽取所需信息的过程。需要注意的是,在实际应用中可能还需要考虑更多细节,比如异常处理机制、代理设置等以应对反爬策略。 #### 数据存储与预处理 一旦成功获取到原始数据之后,下一步就是将其保存下来以便后续操作。这里建议先将数据存入CSV文件或数据表内;接着再运用pandas来进行必要的清理工作——去除重复项、填补缺失值等等。 ```python import pandas as pd data = [{'Title': 'Movie A', 'Gross': '$1M'}, {'Title': 'Movie B', 'Gross': '$2M'}] df = pd.DataFrame(data) cleaned_df = df.drop_duplicates().fillna(value='Unknown') print(cleaned_df.head()) ``` 上述片段说明了怎样创建DataFrame对象并将之转换成易于管理的形式。此外,还可以进一步探索其他高级功能如分组统计、聚合计算等来挖掘潜在价值所在。 #### 数据可视化 最后一步便是选取合适的表形式展现所得到的结果。Matplotlib 和 Seaborn 是两个非常受欢迎的选择之一,它们提供了丰富的绘选项满足不同需求下的定制化要求。 ```python import matplotlib.pyplot as plt import seaborn as sns sns.set(style="whitegrid") plt.figure(figsize=(8,6)) ax = sns.barplot(x='Title', y='Gross', data=cleaned_df) ax.set_title('Top Movies by Box Office Gross') plt.show() ``` 此部分介绍了绘制柱状的方式表示各部影片之间的收入对比关系。当然也可以尝试折线等多种样式增强表达效果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值