怎样用python画图,为啥代码写好运行时错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用python画图,为啥代码写好运行时错误?相关的知识,希望对你有一定的参考价值。

参考技术A python绘图(可视化)的模块非常多,下面我简单介绍几个不错的绘图库,感兴趣的朋友可以自己尝试一下,实验环境win7+python3.6+pycharm5.0,主要内容如下:

matplotlib
这是python中专门用于绘图的一个模块,功能强大,制图种类繁多,使用也最广泛,下面我简单介绍一下这个模块的安装和使用:

1.首先,安装matplotlib模块,这个直接在cmd窗口输入安装命令“pip install matplotlib”就行,如下:

2.安装完成后,我们就可以编写代码进行一下简单测试了,代码如下,一个稍微复杂的曲线图:

程序运行效果如下,看着还是非常不错的:

3.更多示例的话,可以参考一下官网教程,介绍的非常详细,柱状图、散点图、饼图等都有,非常适合初学者学习入门:

seaborn
这是一个基于matplotlib的绘图库,是matplotlib的高级封装,代码量更少,使用起来也更方便,下面我简单介绍一下这个模块的安装和使用:

1.首先,安装seaborn模块,这个也直接输入安装命令“pip install seaborn”就行,如下,很快就能安装完成:

2.安装完成后,我们就可以直接编写代码来测试一下这个模块了,代码如下,一个折线图集合:

程序运行截图如下,效果也非常不错:

3.更多示例的话,也直接参考官网教程就行,介绍的非常详细,很适合初学者入门学习:

pyecharts
这是echarts的一个python接口,借助于echarts强大的可视化功能,python也可以快速构建、绘制各种各样的图表,下面我简单介绍一下这个模块的安装和使用:

1.首先,安装pyecharts模块,这个也直接输入命令“pip install pyecharts”就行,如下:

2.安装完成后,我们就可以编写代码来进行下测试了,测试代码如下,一个简单的3D散点图:

程序运行截图如下(基于浏览器进行显示),效果还是非常不错的:

至此,我们就完成了利用python来进行绘图(可视化)。总的来说,这3个绘图模块使用起来都非常不错,对于大多数图表绘制来说,完全可以满足需求,当然,还有许多其他绘图模块,像ggplot等,也都非常不错,网上也有相关教程,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

python画图有很多扩展可以用,比如matplotlib、turtle、pychart等等,看你需要什么方面了,不同的需求需要用不同的工具。如果做界面还有pyqt、tkinter等等,做 游戏 还有pygame等等。

python报错需要查看报错信息,进行调试才能正常运行

为啥删除 UITableView 行时会出现错误?

【中文标题】为啥删除 UITableView 行时会出现错误?【英文标题】:Why is an error occurring when a UITableView row is deleted?为什么删除 UITableView 行时会出现错误? 【发布时间】:2011-12-05 20:35:11 【问题描述】:

我正在尝试使用 Apple Table View Programming Guide 中描述的标准编辑控件样式来实现 UITableViewCell 的标准删除。当commitEditingStyle方法中执行以下代码时

[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];

我收到以下错误消息

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:第 2 节中的行数无效。更新后现有节中包含的行数 (1) 必须等于更新前该节中包含的行数 (1),加上或减去从该节插入或删除的行数(0 插入,1 删除)。

【问题讨论】:

【参考方案1】:

您必须从数据源中删除单元格所代表的对象以及删除单元格:

[myObjectsArray removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];

【讨论】:

【参考方案2】:

如果它是唯一的行,我建议您也删除该部分。您还需要将数据源与表同步,即同时删除数据源中的行。

当文件系统是您在 iOS 中的数据源时,这是一个正确的示例:

 // Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
 
    if (editingStyle == UITableViewCellEditingStyleDelete) 
    // Delete the row from the data source.
        File *file = (File *)[self.files objectAtIndex:indexPath.row];
        [[NSFileManager defaultManager] removeItemAtPath:file.path error:nil];
        [self.files removeObject:file];
        if (indexPath.row == 0 && [self.files count] == 0) 
            NSInteger sectionIndex = [indexPath indexAtPosition:0];
            [tableView deleteSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationFade];
        else 
            [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
        
        [self setupData];
     else if (editingStyle == UITableViewCellEditingStyleInsert) 
    // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view.
       

【讨论】:

空白部分没有问题。正如 Tom Irving 所指出的,这里的问题只是更新数据模型以适应删除的项目。 删除最后一行的干净且正确的方法是删除该部分。我的回答对 OP 来说是最完整和最有帮助的。有很多很好的例子,包括我自己的开发经验。这是一个 *** 演示一个案例(18 个赞成票):***.com/a/1265050/230571 您是要保留空白部分还是完全删除这些部分是一个偏好问题。如果这是需要的(开发人员或客户),那么您就是这样做的,我不在乎有多少赞成票。 我演示的方法涵盖了大多数情况——这是因为 OP 还不了解这部分 SDK 的工作原理。当然,这不是关于赞成票,而是关于他们所代表的内容——它适用于许多事先不知道如何处理这种情况的开发人员。 “如果它是唯一的行,您还需要删除该部分”,我的意思是您不需要需要,但通常会这样做。跨度>

以上是关于怎样用python画图,为啥代码写好运行时错误?的主要内容,如果未能解决你的问题,请参考以下文章

怎样用python画图

Python 中 logging 模块使用详情

python为啥画布上画图看不见?

为啥删除 UITableView 行时会出现错误?

用python软件画填色的图案,为啥只有海龟路线上有颜色

Python使用matplotlib来for循环实时画图为啥会出现多个图出来,循环几次就出来几个图,啥原因?