|
¶ªµôExcel£¬ÊÖ°ÑÊÖ½ÌÄãÓÃPython×ö¿ÉÊÓ»¯£¬»¹Äܵ÷½Ú¶¯»Ë¿»¬¶È时间£º2023-03-15 Êý¾Ý¿ÉÊÓ»¯¶¯»»¹ÔÚÓÃExcel×ö£¿ ÏÖÔÚÒ»¸ö¼òµ¥µÄPython°ü¾ÍÄÜ·Ö·ÖÖӸ㶨£¡ ¶øÇÒÉú³ÉµÄ¶¯»Ò²×㹻˿»¬£¬Ð§¹ûÊǽ´×ϵģº
ÕâÊÇһλר¹¥PythonÓïÑԵijÌÐòÔ±¿ª·¢µÄ°²×°°ü£¬Ãû½ÐPynimate¡£ Ŀǰ¿ÉÒÔÖ±½Óͨ¹ýPyPI°²×°Ê¹Óá£
ʹÓÃÖ¸ÄÏ ÏëҪʹÓÃPynimate£¬Ö±½ÓimportһϾÍÐС£ import pynimate as nim ÊäÈëÊý¾Ýºó£¬Pynimate½«Ê¹Óú¯ÊýBarplot£¨£©À´´´½¨ÌõÐÎÊý¾Ý¶¯»¡£ ¶ø´´½¨ÕâÖÖ¶¯»£¬ÊäÈëµÄÊý¾Ý±ØÐëÊÇpandasÊý¾Ý½á¹¹£¨ÈçÏ£©£¬ÆäÖн«Ê±¼äÁÐÉèÖÃΪË÷Òý£¬»»¾ä»°ËµË÷Òý´ú±íµÄÊÇ×Ô±äÁ¿¡£ time, col1, col2, col32012 1 2 12013 1 1 22014 2 1.5 32015 2.5 2 3.5 ¾ßÌåµÄ´úÂëÐÎʽÈçÏ£º import pandas as pddf = pd.read_csv('data'csv').set_index('time') ±ÈÈçÒª´¦Àí¾ßÌåµÄÊý¾Ý£¬Ð´³É´úÂëÓ¦¸ÃÊÇÕâÑù×ӵġ£ df = pd.DataFrame( { "time": ["1960-01-01", "1961-01-01", "1962-01-01"], "Afghanistan": [1, 2, 3], "Angola": [2, 3, 4], "Albania": [1, 2, 5], "USA": [5, 3, 4], "Argentina": [1, 4, 5], }).set_index("time") ´ËÍâ£¬ÒªÖÆ×÷ÌõÐÎÊý¾Ý¶¯»£¬Barplot»¹ÓÐÈý¸ö±ØÐèµÄ²ÎÊýÖµµÃ×¢Ò⣺data¡¢time_formatºÍip_freq£¨Interpolation frequency£©¡£ data¾ÍÊDZí¸ñµÄÊý¾Ý£¬ÕâÀïÒ²¾Í²»ÔÙ׸Êö¡£ time_formatÊÇÖ¸Êý¾ÝË÷ÒýµÄʱ¼äÈÕÆÚ¸ñʽ£¬Ò»°ãΪ£º¡±%Y-%m-%d¡±¡£ ×îºóÊÇip_freq£¬ËüÊÇÖÆ×÷¶¯»ÖбȽϹؼüµÄÒ»²½£¬Í¨¹ýÏßÐÔ²åֵʹ¶¯»¸ü¼ÓÁ÷³©Ë¿»¬¡£ Ò»°ãÀ´Ëµ£¬²¢²»ÊÇËùÓеÄÔʼÊý¾Ý¶¼ÊʺÏ×ö³É¶¯»£¬ÏÖÔÚÒ»¸öµäÐ͵ÄÊÓÆµÊÇ24fps£¬¼´Ã¿ÃëÓÐ24Ö¡¡£ ¾Ù¸öÀý×Ó£¬ÏÂÃæÕâ¸ö±í¸ñÖеÄÊý¾ÝÖ»ÓÐÈý¸öʱ¼äµã£¬°´Àí˵ֻÄÜÉú³É3Ö¡ÊÓÆµ£¬×îÖÕ¶¯»Ò²Ö»ÓÐ3/24Ãë¡£ time, col1, col22012 1 3 2013 2 2 2014 3 1 Õâʱºò£¬ip_freq²åÖµ£¨ÏßÐÔ£©¾Í¿ªÊ¼·¢»Ó×÷ÓÃÁË£¬Èç¹û²åÖµÊÇÒ»¸ö¼¾¶È£¬ÔòµÃ³öµÄÊý¾Ý¾Í±ä³ÉÁËÕâÑù£º time col1 col22012-01-01 1.00 3.002012-04-01 1.25 2.752012-07-01 1.50 2.502012-10-01 1.75 2.252013-01-01 2.00 2.002013-04-01 2.25 1.752013-07-01 2.50 1.502013-10-01 2.75 1.252014-01-01 3.00 1.00 ¾ßÌåµÄ²åֵʱ¼ä¼ä¸ôΪ¶à¾Ã£¬ÔòÒªÊÓ¾ßÌåµÄÊý¾Ý¶ø¶¨£¬Ò»°ã»æÖÆ´óÊý¾Ýʱ£¬ÉèÖÃΪip_freq = None¡£ ÖÁ´Ë£¬¾ÍÄÜÉú³ÉÊý¾Ý¶¯»ÁË£¬ÍêÕû´úÂëÈçÏÂËùʾ£º from matplotlib import pyplot as pltimport pandas as pdimport pynimate as nimdf = pd.DataFrame( { "time": ["1960-01-01", "1961-01-01", "1962-01-01"], "Afghanistan": [1, 2, 3], "Angola": [2, 3, 4], "Albania": [1, 2, 5], "USA": [5, 3, 4], "Argentina": [1, 4, 5], }).set_index("time")cnv = nim.Canvas()bar = nim.Barplot(df, "%Y-%m-%d", "2d")bar.set_time(callback=lambda i, datafier: datafier.data.index[i].year)cnv.add_plot(bar)cnv.animate()plt.show() ÕâÊDzåֵΪÁ½Ì죬Éú³ÉµÄ¶¯»Ð§¹û¡£
×îºó»¹ÓÐÒ»¸öÎÊÌ⣬ÄǾÍÊDZ£´æ¶¯»£¬ÓÐÁ½¸ö¸ñʽ¿ÉÒÔÑ¡Ôñ£ºgif»òÕßmp4¡£ ±£´æÎª¶¯Í¼Ò»°ãʹÓ㺠cnv.save("file", 24, "gif") ÈôÒª±£´æÎªmp4µÄ»°£¬ffmpegÊǸö²»´íµÄÑ¡Ôñ£¬ËüÊDZ£´æÎªmp4µÄ±ê×¼±àдÆ÷¡£ pip install ffmpeg-python »òÕߣº conda install ffmpeg µ±È»£¬Í¬ÑùÒ²¿ÉÒÔʹÓÃCanvas.save()À´±£´æ¡£ cnv.save("file", 24 ,"mp4") ×÷Õß½éÉÜ julkar9£¬Python/Flutter ¿ª·¢ÈËÔ±£¬Ñо¿µÄ·½ÏòΪÊý¾Ý·ÖÎöÓë¿ÉÊÓ»¯¡£ С¸ç±íʾ£¬Pynimate»¹»á²»¶Ï¸üУ¬Ä¿Ç°ÕýÔÚ½ÓÊÜ´ó¼ÒµÄ·´À¡£¬Ö®ºó»¹»áÉÏÏßµÈÖµÇøÓòͼµÈ¹¦ÄÜ¡£
Ëû»¹¿ª·¢ÁËÒ»¸öÓ¦ÓóÌÐò£ºChatmetry£¬Í¬ÑùÒ²ÓëÊý¾Ýͳ¼ÆÓйأ¬ÊÇÒ»¸öÓÃÓÚ´´½¨whatsappÁÄÌìͳ¼ÆÊý¾ÝµÄ»úÆ÷ÈËÓ¦ÓóÌÐò¡£ Õâ¸ö³ÌÐò¿ÉÒÔ´Óµ¼³öµÄÁÄÌìÖÐÉú³É¸÷ÖÖͳ¼ÆÐÅÏ¢£¬Í¬Ê±Ö§³Ö¸öÈ˺ÍȺ×éÁÄÌ죬²¢ÇÒÊÇÍêÈ«ÀëÏߵģ¬¼È²»»á±£´æÒ²²»»á¹²Ïí¡£
´«ËÍÃÅ£º |


