Данные считываются как строки. В matplotlib 2.0 они автоматически преобразуются в числа с плавающей точкой, так что они могут быть построены.
В matplotlib 2.1 введены категориальные графики . Это теперь позволяет что-то вроде
plt.plot(["apple", "banana", "cherry"], [2,1,3])
. Хотя это, конечно, отлично подходит для определенных приложений, оно прерывает предыдущий вариант построения строк, которые можно преобразовать в float. Я думаю, что если это хорошо, это просто дает пользователю ответственность за само преобразование.
В этом случае вы хотели бы сделать это преобразование, например
values = [None if v is '' else float(v) for v in values]
Из моего тестирования это означало бы, что я мог бы запустить свое приложение 2.0 C # на .NET 4.0 с платформой .NET 4.0 (сборка 4.0 / сборник), что противоречит тем, что были упомянуты в статьях.
blockquote>Вы можете запускать ваше приложение на .NET 4 с помощью сборок .NET 4. Однако всегда существует вероятность незначительного изменения поведения во время выполнения, поскольку вы не будете использовать ту же среду исполнения и фреймворк, которые вы использовали для разработки. Я подозреваю, что статья пытается предположить, что вы не получите то же самое поведение, просто установив 4.0, хотя, как вы видели, он должен работать.
Выполнение этого, вероятно, хорошо, хотя я рекомендовал бы провести тщательное тестирование вашего приложения, если это будет стандартный вариант развертывания.
Просто немного более кратким. В App.config вы показываете поддержку CLR. Из .Net v2 и существует только 2 версия CLR . Таким образом, вы получите поддержку .Net v2 и дальше. Обязательно включите файл exe.config, который построен в вашем проекте, иначе вы, вероятно, все равно увидите всплывающее окно с просьбой установить .Net.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
Для поддержки .Net v2 - v3.5 use:
<supportedRuntime version="v2.0.50727"/>
Для поддержки .Net v4.0 до 4.6 используйте:
<supportedRuntime version="v4.0"/>
Более подробную информацию можно найти для Настройка приложения для поддержки .NET Framework
И я цитирую:
«.NET Framework 4 обратно совместим с приложениями, которые были созданы с .NET Framework версий 1.1, 2.0, 3.0 и 3.5. Другими словами, приложения и компоненты, созданные с предыдущими версиями .NET Framework, будут работать с .NET Framework 4. «
Взято из Совместимость версий в .NET Framework
У вас есть правильная идея с файлом App.config, но вы действительно ограничиваете себя одной строкой. Могу ли я предложить более либеральное использование поддерживаемых строк Runtime?
Например:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v2.0.50727"/>
<!--
<supportedRuntime version="v3.5"/> "The .NET Framework version 3.0 and 3.5 use version 2.0.50727 of the CLR."
-->
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.1,Profile=Client" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.1" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.2,Profile=Client" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.2" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.3,Profile=Client" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.3" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
Почему supportedRuntime version="v3.5"
закомментирован? Помните, что эта конфигурация определяет, какие версии Common Language Runtime (CLR) совместимы с вашим приложением. Нет версии 3.0 или 3.5 для CLR. См. Версии и зависимости .NET Framework
Просто установка web.config на поддерживаемую версию Runtime = "v4.0.30319" / не будет достаточной.
Вам нужно действительно открыть свой проект в Visual Studio, изменить его целевую структуру (свойства -> build) до 4.0 - и THEN повторно настройте построенное решение для ваших клиентов 4.0. Несколько системных сборок различаются между 2.0 и 4.0 (system.web и т. Д.) - хотя, как было предложено в предыдущем ответе, была предоставлена обратная совместимость.
Единственный способ последовательно предоставлять вашим клиентам действительную версию, совместимую с «4.0», заключается в ее компиляции против среды выполнения 4.0. Это приведет к обновлению любых сторонних библиотек с открытым исходным кодом до их версий 4.0.